package com.minimalist.common.entity.lindi.vo.enterpriseaccount;

import com.minimalist.common.config.mybatis.bo.PageReq;
import com.minimalist.common.config.swagger.SchemaEnum;
import com.minimalist.common.entity.basic.enums.StatusEnum;
import io.swagger.v3.oas.annotations.media.Schema;

import java.io.Serial;
import java.io.Serializable;
import java.util.Objects;

/**
 * @author 11987
 */

@Schema(name = "林地指标交易平台_企业用户账号查询实体")
public class LindiEnterpriseAccountQueryVO extends PageReq implements Serializable{
    @Serial
    private static final long serialVersionUID = 1L;

    @Schema(name = "enterpriseName", description = "企业名称", type = "string")
    private String enterpriseName;

    @Schema(name = "enterpriseMobile", description = "企业联系方式", type = "string")
    private String enterpriseMobile;

    @SchemaEnum(implementation = StatusEnum.class)
    @Schema(name = "status", description = "企业用户账号状态", type = "string")
    private Integer status;


    public String getEnterpriseName(){
        return enterpriseName;
    }

    public void setEnterpriseName(String enterpriseName){
        this.enterpriseName = enterpriseName;
    }

    public String getEnterpriseMobile(){
        return enterpriseMobile;
    }

    public void setEnterpriseMobile(String enterpriseMobile){
        this.enterpriseMobile = enterpriseMobile;
    }

    public Integer getStatus(){
        return status;
    }

    public void setStatus(Integer status){
        this.status = status;
    }

    @Override
    public boolean equals(Object o){
        if (this == o){
            return true;
        }
        if (o == null || getClass() != o.getClass()){
            return false;
        }
        if (!super.equals(o)){
            return false;
        }
        LindiEnterpriseAccountQueryVO that = (LindiEnterpriseAccountQueryVO) o;
        return Objects.equals(enterpriseName, that.enterpriseName) && Objects.equals(enterpriseMobile, that.enterpriseMobile) && Objects.equals(status, that.status);
    }

    @Override
    public int hashCode(){
        return Objects.hash(super.hashCode(), enterpriseName, enterpriseMobile, status);
    }
}
